74 research outputs found

    Requirements-driven self-optimization of composite services using feedback control

    Get PDF
    In an uncertain and changing environment, a composite service needs to continuously optimize its business process and service selection through runtime adaptation. To achieve the overall satisfaction of stakeholder requirements, quality tradeoffs are needed to adapt the composite service in response to the changing environments. Existing approaches on service selection and composition, however, are mostly based on quality preferences and business processes decisions made statically at the design time. In this paper, we propose a requirements-driven self-optimization approach for composite services. It measures the quality of services (QoS), estimates the earned business value, and tunes the preference ranks through a feedback loop. The detection of unexpected earned business value triggers the proposed self-optimization process systematically. At the process level, a preference-based reasoner configures a requirements goal model according to the tuned preference ranks of QoS requirements, reconfiguring the business process according to its mappings from the goal configurations. At the service level, selection decisions are optimized by utilizing the tuned weights of QoS criteria. We used an experimental study to evaluate the proposed approach. Results indicate that the new approach outperforms both fixed-weighted and floating-weighted service selection approaches with respect to earned business value and adaptation flexibility

    Stateful requirements monitoring for self-repairing socio-technical systems

    Get PDF
    Socio-technical systems consist of human, hardware and software components that work in tandem to fulfil stakeholder requirements. By their very nature, such systems operate under uncertainty as components fail, humans act in unpredictable ways, and the environment of the system changes. Self-repair refers to the ability of such systems to restore fulfillment of their requirements by relying on monitoring, reasoning, and diagnosing on the current state of individual requirements. Self-repair is complicated by the multi-agent nature of socio-technical systems, which demands that requirements monitoring and self-repair be done in a decentralised fashion. In this paper, we propose a stateful requirements monitoring approach by maintaining an instance of a state machine for each requirement, represented as a goal, with runtime monitoring and compensation capabilities. By managing the interactions between the state machines, our approach supports hierarchical goal reasoning in both upward and downward directions. We have implemented a customisable Java framework that supports experimentation by simulating a socio-technical system. Results from our experiments suggest effective and precise support for a wide range of self-repairing decisions in a socio-technical setting

    Self-adaptation through incremental generative model transformations at runtime

    Get PDF
    A self-adaptive system uses runtime models to adapt its architecture to the changing requirements and contexts. However, there is no one-to-one mapping between the requirements in the problem space and the architectural elements in the solution space. Instead, one refined requirement may crosscut multiple architectural elements, and its realization involves complex behavioral or structural interactions manifested as architectural design decisions. In this paper we propose to combine two kinds of self-adaptations: requirements-driven self-adaptation, which captures requirements as goal models to reason about the best plan within the problem space, and architecture-based self-adaptation, which captures architectural design decisions as decision trees to search for the best design for the desired requirements within the contextualized solution space. Following these adaptations, component-based architecture models are reconfigured using incremental and generative model transformations. Compared with requirements-driven or architecture-based approaches, the case study using an online shopping benchmark shows promise that our approach can further improve the effectiveness of adaptation (e.g. system throughput in this case study) and offer more adaptation flexibility

    Vibrational studies of the disulfied group in proteins part IV. SS and CS stretch frequencies of known peptide and protein disulfide bridges

    Full text link
    We have used our previously derived ab initio disulfide and empirical polypeptide force field to calculate SS and CS stretch frequencies of disulfide bridges in a cyclic octapeptide and six proteins of known structure. Comparisons with Raman spectra show that the observed bands are very well reproduced by the normal mode calculations, thus validating the use of these force fields in studying detailed correlations between such spectra and disulfide bridge geometry.Peer Reviewedhttp://deepblue.lib.umich.edu/bitstream/2027.42/29095/1/0000131.pd

    Detecting differences across multiple instances of code clones

    Get PDF
    Clone detectors find similar code fragments (i.e., instances of code clones) and report large numbers of them for industrial systems. To maintain or manage code clones, developers often have to in-vestigate differences of multiple cloned code fragments. However, existing program differencing techniques compare only two code fragments at a time. Developers then have to manually combine several pairwise differencing results. In this paper, we present an approach to automatically detecting differences across multiple clone instances. We have implemented our approach as an Eclipse plugin and evaluated its accuracy with three Java software systems. Our evaluation shows that our algorithm has precision over 97.66% and recall over 95.63 % in three open source Java projects. We also conducted a user study of 18 developers to evaluate the use-fulness of our approach for eight clone-related refactoring tasks. Our study shows that our approach can significantly improve de-velopers ’ performance in refactoring decisions, refactoring details, and task completion time on clone-related refactoring tasks. Au-tomatically detecting differences across multiple clone instances also opens opportunities for building practical applications of code clones in software maintenance, such as auto-generation of appli-cation skeleton, intelligent simultaneous code editing

    Fatigue Damage Analysis of Composite Insulator Cor Rod/sheath Interface

    Get PDF
    A self-made fatigue testing machine was used to simulate the damage process of the insulator interface under working conditions and the damage degree is evaluated by the compressive shear test. The improved interface adhesion model reflects the interface debonding process under different fatigue loads by introducing the damage coefficient χ, migration coefficient α and the debonding coefficient μ. The relationship of fatigue loads and interface damage is established by the peeling force, the unit interface separation work and the peeling time. The test demonstrates that the interface damage near the bottom of the insulator is worse than that near the middle part. The result of this analysis will be beneficial in easily finding damaged places of the insulator, and so as to reduce the power breakdown

    Mining implicit design templates for actionable code reuse

    Get PDF
    National Research Foundation (NRF) Singapor

    Analyzing evolution of variability in a software product line: from contexts and requirements to features

    Get PDF
    In the long run, features of a software product line (SPL) evolve with respect to changes in stakeholder requirements and system contexts. Neither domain engineering nor requirements engineering handles such co-evolution of requirements and contexts explicitly, making it especially hard to reason about the impact of co-changes in complex scenarios. In this paper, we propose a problem-oriented and value-based analysis method for variability evolution analysis. The method takes into account both kinds of changes (requirements and contexts) during the life of an evolving software product line. The proposed method extends the core requirements engineering ontology with the notions to represent variability-intensive problem decomposition and evolution. On the basis of problem-orientation, the analysis method identifies candidate changes, detects influenced features, and evaluates their contributions to the value of the SPL. The process of applying the analysis method is illustrated using a concrete case study of an evolving enterprise software system, which has confirmed that tracing back to requirements and contextual changes is an effective way to understand the evolution of variability in the software product line
    • …
    corecore